﻿#ifndef _OI_PLSCANNER_PLYTOOL_HPP_
#define _OI_PLSCANNER_PLYTOOL_HPP_

#include "PLScannerCore/OiPLScannerCore.hpp"
#include "PLScannerCore/OiPLScannerWorker.hpp"

namespace Oi
{
    namespace PLScannerCore
    {
        class OI_PLSCANNER_CORE_API PlyTool : public QObject
        {
            Q_OBJECT

        public:
            PlyTool(QObject *parent = 0);

            void calResult(WorkResult::Result& r, bool dir);
            float  calculateMean(const QList<QPointF>& values);
            
        public:
            static QVariantMap measureDefaultValues(MeasureType type);
            static QVariantMap toolDefaultValues(int index);

        private:
            OI_DISABLE_COPY(PlyTool);
            OI_DECLARE_IMPL(PlyTool);

        };

    }
}

#endif
